#include<bits/stdc++.h>
using namespace std;
struct matrix {
  long long m[2][2];
  matrix(long long x=0) {
    memset(m, 0, sizeof m);
    if(x)for(int i=0;i<x;++i)m[i][i]=x;
  }
  matrix operator* (const matrix b) const{
    matrix o;
    const matrix a=*this;
    o[0][0]=a[0][0]*b[0][0]+a[0][1]*b[1][0];
    o[0][1]=a[1][0]*b[0][1]+a[0][1]*b[1][1];
    o[1][0]=a[1][0]*b[0][0]+a[1][1]*b[1][0];
    o[1][1]=a[1][0]*b[0][1]+a[1][1]*b[1][1];
    return o;
  }
};
int main() {
  long long n;
  n=10;

}
